#ifndef _JPHYSICSOBJECT_H_
#define _JPHYSICSOBJECT_H_
/*
#include "JPhysicsMaths.h"
#include "JPhysicsUtility.h"

class JPhysicsObject
{
public:
	JPhysicsObject();
	~JPhysicsObject(){}

	void setCollisionType(CollisionType collisionType);
	void setMass(float mass);  
	void setPosition(JPVector3 *position);
	void setLinearVelocity(JPVector3 *linearVelocity);
	void setAcceleration(JPVector3 *acceleration);
	void setAngularVelocity(JPVector3 *angularVel);  
	void setInertia(float* inertia);
	void setInertiaTensor(JPMatrix *inertiaTensor);

	void translate(JPVector3 *translate);
	void update(float time);

	// Sphere functions
	void setRadius(float radius);
	void setTheta(float theta);

	//Plane functions
	void setPlaneNormal(JPVector3 *normal);

	//Cuboid functions
	void setOrientation(JPVector3 *orientation);
	void setHalfLength(float *halfLength);
	// AABB half lengths
	void computeAABBLengths();

	float*     getHalfLength()      { return m_e; }
	float*     getAABBHalfLength()  { return m_AABBe; }
	JPVector3* getOrientation()     { return m_axes; }
	JPVector3* getAABBOrientation() { return m_AABBaxes; }
	JPVector3& getAngularVelocity() { return m_angularVelocity; }

	const JPVector3& getPlaneNormal() const    { return m_normal; }
	const JPVector3& getPosition() const       { return m_position; }
	const JPVector3& getLinearVelocity() const { return m_linearVelocity; }
	const JPVector3& getAcceleration() const   { return m_acceleration; }
	const JPVector3& getInertiaVec() const     { return m_inertiaVec; }

	float      getMass() const		{return m_mass;}
	float      getRadius() const	{return m_radius;}
	float      getTheta() const		{return m_theta;}

	const JPMatrix   &getInertiaTensor() const  { return m_inertiaTensor; }

	const CollisionType &getCollisionType() const { return m_objectType; }

private:

	CollisionType m_objectType;

	JPVector3 m_linearVelocity;
	JPVector3 m_position; // Position is a point on plane in the case of a plane
	JPVector3 m_normal;
	JPVector3 m_acceleration;
	JPVector3 m_angularVelocity;
	JPVector3 m_inertiaVec;

	float     m_radius;
	float     m_mass;
	float     m_theta;
	float     m_inertia[3];
	JPMatrix  m_inertiaTensor;  

	JPVector3 m_axes[3];      // OBB Local x-, y-, and z- axes
	JPVector3 m_AABBaxes[3];  // AABB axis...aligned to world axis.
	float m_e[3];             // Positive halfwidth extends of OBB along each axis
	float m_AABBe[3];         // Positive halfwidth extends of AABB along world axis
};
*/
#endif // _JPHYSICSOBJECT_H_